Transaction Activation Scheduling Support for TransactionalMemory

نویسندگان

  • Walther Maldonado
  • Gilles Muller
  • Patrick Marlier
  • Pascal Felber
چکیده

Transactional Memory (TM) is considered as one of the most promising paradigms for developing concurrent applications. TM has been shown to scale well on multiple cores when the data access pattern behaves “well,” i.e., when few conflicts are induced. In contrast, data patterns with frequent write sharing, with long transactions, or when many threads contend for a smaller number of cores, produce numerous aborts. These problems are traditionally addressed by application-level contention managers, but they suffer from a lack of precision and provide unpredictable benefits on many workloads. In this paper, we propose a system approach where the scheduler tries to avoid aborts by preventing conflicting transactions from running simultaneously. We use a combination of several techniques to help reduce the odds of conflicts, by (1) avoiding preempting threads running a transaction until the transaction completes, (2) keeping track of conflicts and delaying the restart of a transaction until conflicting transactions have committed, and (3) keeping track of conflicts and only allowing a thread with conflicts to run at low priority. Our approach has been implemented in Linux for Software Transactional Memory (STM) using a shared memory segment to allow fast communication between the STM library and the scheduler. It only requires small and contained modifications to the operating system. Experimental evaluation demonstrates that our approach significantly reduces the number of aborts while improving transaction throughput on various workloads. Key-words: Software transactional memory, TinySTM, thread scheduling A previous version of this document appeared as research report UniNE-8/11/2008 ∗ University of Neuchâtel, Switzerland † DIKU, University of Copenhagen, Denmark ‡ EMN–INRIA/Regal in ria -0 03 63 37 6, v er si on 1 23 F eb 2 00 9 Transaction Activation Scheduling Support for TransactionalMemory Résumé : La mémoire transactionelle (TM) est actuellement considérée comme l’un des paradigmes les plus prometteurs pour le développement d’applications concurrentes. Les études dans ce domaine ont montrées que la performance était proportionnelle au nombre de cœurs lorsque le canevas des accès mémoire possède un bon profil, c.à.d que peu de conflits sont engendrés entre les transactions. En revanche, lorsque les accès aux données induisent du partage fréquent en écriture, de longues transactions ou lorsque de nombreux fils de contrôle sont en compétition pour s’exécuter sur un nombre de cœurs inférieurs, il en résulte de nombreux avortements. Ces problèmes sont traditionellement traités par des gestionnaires de contention au niveau applicatif. Toutefois, les solutions existantes souffrent d’un manque de précision et entrâınent des gains non prévisibles sur de nombreuses charges applicatives. Dans cet article, nous proposons une approche système où l’ordonnanceur essaie de prévenir les avortements en évitant de faire s’exécuter simultanément des transactions conflictuelles. Plus précisément, nous utilisons une combinaison des techniques suivantes : (i) éviter de suspendre une thread tournant une transaction jusqu’au commit de celle-ci, (ii) mémoriser les conflits et retarder le redémarrage d’une transaction jusqu’à ce que les transactions conflictuelles aient commitées, (iii) mémoriser les conflits et permettre aux fils tournant des transactions en conflit de s’exécuter avec une priorité basse. Notre approche a été mise en œuvre dans le contexte d’une mémoire transactionelle logicielle (STM) sur Linux en utilisant un segment de mémoire partagéee pour permettre des communications rapide entre l’ordonnanceur et la STM. Cette approche requiert peu de modifications dans le noyau de Linux. Nos évaluations montrent que cette approche réduit de manière significative le nombre d’avortements et qu’elle améliore le débit en transactions sur des charges applicatives variées. Mots-clés : Mémoire transactionelle logicielle, TinySTM, ordonnancement noyau in ria -0 03 63 37 6, v er si on 1 23 F eb 2 00 9 Transaction Activation 3

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Bilevel Scheduling Approach for Modeling Energy Transaction of Virtual Power Plants in Distribution Networks

By increasing the use of distributed generation (DG) in the distribution network operation, an entity called virtual power plant (VPP) has been introduced to control, dispatch and aggregate the generation of DGs, enabling them to participate either in the electricity market or the distribution network operation. The participation of VPPs in the electricity market has made challenges to fairly a...

متن کامل

Scheduling Transactions on Distributed Systems with the V P L Engine Scheduling Transactions on Distributed Systems with the V P L Engine

The coordination of distributed services and the integration of data repositories that are maintained by autonomous distributed databases requires exi-ble transaction management. Recently numerous advanced transaction models have been proposed that extend traditional transaction models by releasing one or more of the classical ACID (atomicity, consistency, integrity, durability) properties of t...

متن کامل

Flexible Real-Time SQL Transactions

Although signiicant research has been been done in many facets of real-time database design, there has been little work in real-time transaction structuring and speciication. The adherence of conventional transactions to the ACID properties reduces data availability, which reduces the exibility of real-time transaction scheduling. This paper presents exible transaction structur-ing capabilities...

متن کامل

Utilization of execution histories in scheduling real-time database transactions

Real-time database systems support data processing needs of real-time systems where transactions have time constraints. Here we consider repetitively executed transactions, and assume that execution histories are logged. A well-known priority assignment technique called earliest-deadline-first is biased towards short transactions in which short transactions have better chances of completing the...

متن کامل

Scheduling transactions with stringent real-time constraints

 Many real-time database systems (RTDBS) are used to support mission-critical applications such as avionics control systems and defense systems, in which transactions have stringent real-time constraints. In these hard real-time systems, a transaction missing its deadline could lead to catastrophic consequences. The difficulties of providing a guarantee of meeting transaction deadlines in hard...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009